{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "03473fbd-7f0c-4ece-9639-ed73a7c33aba",
   "metadata": {},
   "source": [
    "# HHL for Solving $A\\vec{x}=\\vec{b}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dec2b3a9-bcd8-4632-920a-81ec19fab8b0",
   "metadata": {},
   "source": [
    "This tutorial demonstrates an implementation of the HHL algorithm for a specific matrix. The Hamiltonian evolution is implemented by an \"exact\" operation, explicitly evaluating $e^{iA}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4b15ee6c-b2a9-43f5-b0ef-7d6b5b086297",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:40:44.873610Z",
     "iopub.status.busy": "2024-05-07T13:40:44.873185Z",
     "iopub.status.idle": "2024-05-07T13:40:45.010680Z",
     "shell.execute_reply": "2024-05-07T13:40:45.010098Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy\n",
    "\n",
    "a_matrix = np.array(\n",
    "    [\n",
    "        [0.135, -0.092, -0.011, -0.045, -0.026, -0.033, 0.03, 0.034],\n",
    "        [-0.092, 0.115, 0.02, 0.017, 0.044, -0.009, -0.015, -0.072],\n",
    "        [-0.011, 0.02, 0.073, -0.0, -0.068, -0.042, 0.043, -0.011],\n",
    "        [-0.045, 0.017, -0.0, 0.043, 0.028, 0.027, -0.047, -0.005],\n",
    "        [-0.026, 0.044, -0.068, 0.028, 0.21, 0.079, -0.177, -0.05],\n",
    "        [-0.033, -0.009, -0.042, 0.027, 0.079, 0.121, -0.123, 0.021],\n",
    "        [0.03, -0.015, 0.043, -0.047, -0.177, -0.123, 0.224, 0.011],\n",
    "        [0.034, -0.072, -0.011, -0.005, -0.05, 0.021, 0.011, 0.076],\n",
    "    ]\n",
    ")\n",
    "\n",
    "b_vector = np.array(\n",
    "    [\n",
    "        -0.00885448,\n",
    "        -0.17725898,\n",
    "        -0.15441119,\n",
    "        0.17760157,\n",
    "        0.41428775,\n",
    "        0.44735303,\n",
    "        -0.71137715,\n",
    "        0.1878808,\n",
    "    ]\n",
    ")\n",
    "\n",
    "sol_classical = np.linalg.solve(a_matrix, b_vector)  # classical solution\n",
    "\n",
    "# number of qubits for the unitary\n",
    "num_qubits = int(np.log2(len(b_vector)))\n",
    "# exact unitary\n",
    "my_unitary = scipy.linalg.expm(1j * 2 * np.pi * a_matrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "9756c3df-e098-4e46-9a5e-d5210292e96b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:40:45.015042Z",
     "iopub.status.busy": "2024-05-07T13:40:45.013966Z",
     "iopub.status.idle": "2024-05-07T13:40:45.018322Z",
     "shell.execute_reply": "2024-05-07T13:40:45.017824Z"
    }
   },
   "outputs": [],
   "source": [
    "# transpilation_options = {\"classiq\": \"custom\", \"qiskit\": 3} #uncomment this for deeper comparison\n",
    "transpilation_options = {\"classiq\": \"auto optimize\", \"qiskit\": 1}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a99ae585-0116-455a-ba10-65050d37a86b",
   "metadata": {},
   "source": [
    "## 1. HHL with Classiq"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5532ea8f-2114-4c93-87b2-4b496ef83653",
   "metadata": {},
   "source": [
    "An HHL solver is tested for different precisions of the QPE size. The following function gets precision and returns the characteristics of the quantum program, as well as the overlap between the classical and the quantum solver."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8fb8edf1-d888-440b-a8ca-af2d103c8c25",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:40:45.022342Z",
     "iopub.status.busy": "2024-05-07T13:40:45.021373Z",
     "iopub.status.idle": "2024-05-07T13:40:47.632609Z",
     "shell.execute_reply": "2024-05-07T13:40:47.631565Z"
    }
   },
   "outputs": [],
   "source": [
    "from classiq import (\n",
    "    CArray,\n",
    "    CInt,\n",
    "    CReal,\n",
    "    CustomHardwareSettings,\n",
    "    Output,\n",
    "    Preferences,\n",
    "    QArray,\n",
    "    QBit,\n",
    "    QCallable,\n",
    "    QNum,\n",
    "    QuantumProgram,\n",
    "    allocate,\n",
    "    allocate_num,\n",
    "    create_model,\n",
    "    execute,\n",
    "    prepare_amplitudes,\n",
    "    qfunc,\n",
    "    qpe,\n",
    "    set_preferences,\n",
    "    show,\n",
    "    synthesize,\n",
    "    unitary,\n",
    "    within_apply,\n",
    ")\n",
    "from classiq.execution import (\n",
    "    ClassiqBackendPreferences,\n",
    "    ClassiqSimulatorBackendNames,\n",
    "    ExecutionPreferences,\n",
    ")\n",
    "from classiq.qmod.symbolic import floor, log\n",
    "from classiq.synthesis import set_execution_preferences\n",
    "\n",
    "\n",
    "@qfunc\n",
    "def simple_eig_inv(phase: QNum, indicator: Output[QBit]):\n",
    "    allocate(1, indicator)\n",
    "    indicator *= (1 / 2**phase.size) / phase\n",
    "\n",
    "\n",
    "@qfunc\n",
    "def my_hhl(\n",
    "    precision: CInt,\n",
    "    b: CArray[CReal],\n",
    "    unitary: QCallable[QArray[QBit]],\n",
    "    res: Output[QArray[QBit]],\n",
    "    phase: Output[QNum],\n",
    "    indicator: Output[QBit],\n",
    ") -> None:\n",
    "\n",
    "    prepare_amplitudes(b, 0.0, res)\n",
    "    allocate_num(precision, False, precision, phase)\n",
    "    within_apply(\n",
    "        lambda: qpe(unitary=lambda: unitary(res), phase=phase),\n",
    "        lambda: simple_eig_inv(phase=phase, indicator=indicator),\n",
    "    )\n",
    "\n",
    "\n",
    "def get_classiq_hhl_results(precision):\n",
    "    \"\"\"\n",
    "    This function models, synthesizes, executes an HHL example and returns the depth, cx-counts and fidelity\n",
    "    \"\"\"\n",
    "\n",
    "    # SP params\n",
    "    b_normalized = b_vector.tolist()\n",
    "    sp_upper = 0.00  # precision of the State Preparation\n",
    "    unitary_mat = my_unitary.tolist()\n",
    "\n",
    "    @qfunc\n",
    "    def main(res: Output[QArray[QBit]], phase: Output[QNum], indicator: Output[QBit]):\n",
    "        my_hhl(\n",
    "            precision=precision,\n",
    "            b=b_normalized,\n",
    "            unitary=lambda target: unitary(elements=unitary_mat, target=target),\n",
    "            res=res,\n",
    "            phase=phase,\n",
    "            indicator=indicator,\n",
    "        )\n",
    "\n",
    "    qmod_hhl = create_model(main)\n",
    "    preferences = Preferences(\n",
    "        custom_hardware_settings=CustomHardwareSettings(basis_gates=[\"cx\", \"u\"]),\n",
    "        transpilation_option=transpilation_options[\"classiq\"],\n",
    "    )\n",
    "    backend_preferences = ClassiqBackendPreferences(\n",
    "        backend_name=ClassiqSimulatorBackendNames.SIMULATOR_STATEVECTOR\n",
    "    )\n",
    "\n",
    "    qmod_hhl = set_preferences(qmod_hhl, preferences)\n",
    "    qmod_hhl = set_execution_preferences(\n",
    "        qmod_hhl,\n",
    "        execution_preferences=ExecutionPreferences(\n",
    "            num_shots=1, backend_preferences=backend_preferences\n",
    "        ),\n",
    "    )\n",
    "\n",
    "    # Synthesize\n",
    "    qprog_hhl = synthesize(qmod_hhl)\n",
    "    circuit_hhl = QuantumProgram.from_qprog(qprog_hhl)\n",
    "    total_q = circuit_hhl.data.width  # total number of qubits of the whole circuit\n",
    "    depth = circuit_hhl.transpiled_circuit.depth\n",
    "    cx_counts = circuit_hhl.transpiled_circuit.count_ops[\"cx\"]\n",
    "\n",
    "    # Execute\n",
    "    results = execute(qprog_hhl).result()\n",
    "    res_hhl = results[0].value\n",
    "\n",
    "    # Post-process\n",
    "\n",
    "    target_pos = res_hhl.physical_qubits_map[\"indicator\"][\n",
    "        0\n",
    "    ]  # position of control qubit\n",
    "    sol_pos = list(res_hhl.physical_qubits_map[\"res\"])  # position of solution\n",
    "    phase_pos = list(\n",
    "        res_hhl.physical_qubits_map[\"phase\"]\n",
    "    )  # position of the \u201cphase\u201d register, and flips for endianness as we will use the indices to read directly from the string\n",
    "    qsol = [\n",
    "        np.round(parsed_state.amplitude / (1 / 2**precision), 5)\n",
    "        for solution in range(2**num_qubits)\n",
    "        for parsed_state in res_hhl.parsed_state_vector\n",
    "        if parsed_state[\"indicator\"] == 1.0\n",
    "        and parsed_state[\"res\"] == solution\n",
    "        and parsed_state[\"phase\"]\n",
    "        == 0.0  # this takes the entries where the \u201cphase\u201d register is at state zero\n",
    "    ]\n",
    "    fidelity = (\n",
    "        np.abs(\n",
    "            np.dot(\n",
    "                sol_classical / np.linalg.norm(sol_classical),\n",
    "                qsol / np.linalg.norm(qsol),\n",
    "            )\n",
    "        )\n",
    "        ** 2\n",
    "    )\n",
    "    return total_q, depth, cx_counts, fidelity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "8e880c00-e0e6-4db3-9ea3-409a0fe97a01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:40:47.638556Z",
     "iopub.status.busy": "2024-05-07T13:40:47.636786Z",
     "iopub.status.idle": "2024-05-07T13:45:11.236428Z",
     "shell.execute_reply": "2024-05-07T13:45:11.235591Z"
    }
   },
   "outputs": [],
   "source": [
    "classiq_widths = []\n",
    "classiq_depths = []\n",
    "classiq_cx_counts = []\n",
    "classiq_fidelities = []\n",
    "for per in range(2, 9):\n",
    "    total_q, depth, cx_counts, fidelity = get_classiq_hhl_results(per)\n",
    "    classiq_widths.append(total_q)\n",
    "    classiq_depths.append(depth)\n",
    "    classiq_cx_counts.append(cx_counts)\n",
    "    classiq_fidelities.append(fidelity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "93e89099-e9af-41da-856b-5e9918b8dc54",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.241790Z",
     "iopub.status.busy": "2024-05-07T13:45:11.240536Z",
     "iopub.status.idle": "2024-05-07T13:45:11.247645Z",
     "shell.execute_reply": "2024-05-07T13:45:11.246950Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "classiq overlap: [0.31375953725077077, 0.433879258300202, 0.5603101069565148, 0.6943610089764813, 0.8120391947524946, 0.9428407027685696, 0.998219825316336]\n",
      "classiq depth: [1139, 1672, 2213, 2769, 3358, 4011, 4792]\n"
     ]
    }
   ],
   "source": [
    "print(\"classiq overlap:\", classiq_fidelities)\n",
    "print(\"classiq depth:\", classiq_depths)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "10e26aea-1549-4009-a1fd-50596a558aee",
   "metadata": {},
   "source": [
    "## 2. Comparing to Qiskit"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c51b056f-a8f6-4b2b-8373-9996cca11490",
   "metadata": {},
   "source": [
    "Qiskit's HHL solver has been deprecated. For comparison, in an analogy to the Classiq model above, wire the four quantum blocks of the HHL algorithm in Qiskit.\n",
    "\n",
    "The qiskit data was generated using qiskit version 1.0.0. To run the qiskit code uncomment the commented cells below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f0edccf8-751c-4d8d-9096-f6b14c075eb7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.252293Z",
     "iopub.status.busy": "2024-05-07T13:45:11.251153Z",
     "iopub.status.idle": "2024-05-07T13:45:11.257372Z",
     "shell.execute_reply": "2024-05-07T13:45:11.256705Z"
    }
   },
   "outputs": [],
   "source": [
    "qiskit_fidelities = [\n",
    "    0.3158037121175521,\n",
    "    0.43599529278857063,\n",
    "    0.5586003448231571,\n",
    "    0.6824252904259536,\n",
    "    0.806169290650212,\n",
    "    0.9243747525650154,\n",
    "    1.0,\n",
    "]\n",
    "qiskit_depths = [1921, 4439, 9451, 19455, 39443, 79399, 159291]\n",
    "qiskit_widths = [6, 7, 8, 9, 10, 11, 12]\n",
    "qiskit_cx_counts = [979, 2263, 4819, 9915, 20087, 40407, 81019]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "de26943b-d482-49b3-ad22-fd53e6bd7b5b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.261768Z",
     "iopub.status.busy": "2024-05-07T13:45:11.260574Z",
     "iopub.status.idle": "2024-05-07T13:45:11.265199Z",
     "shell.execute_reply": "2024-05-07T13:45:11.264516Z"
    }
   },
   "outputs": [],
   "source": [
    "# from importlib.metadata import version\n",
    "# try:\n",
    "#     import qiskit\n",
    "#     if version('qiskit') != \"1.0.0\":\n",
    "#       !pip uninstall qiskit -y\n",
    "#       !pip install qiskit==1.0.0\n",
    "# except ImportError:\n",
    "#     !pip install qiskit==1.0.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "bc567242-1500-42ca-bc55-804b7b72db4a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.269393Z",
     "iopub.status.busy": "2024-05-07T13:45:11.268234Z",
     "iopub.status.idle": "2024-05-07T13:45:11.274443Z",
     "shell.execute_reply": "2024-05-07T13:45:11.273771Z"
    }
   },
   "outputs": [],
   "source": [
    "# from qiskit import QuantumCircuit, QuantumRegister, transpile\n",
    "# from qiskit.quantum_info import Statevector\n",
    "# from qiskit.circuit.library import PhaseEstimation as PhaseEstimation_QISKIT\n",
    "# from qiskit.circuit.library.arithmetic.exact_reciprocal import ExactReciprocal\n",
    "# from qiskit.circuit.library import Isometry, Initialize\n",
    "\n",
    "# def get_qiskit_hhl_results(precision):\n",
    "#     \"\"\"\n",
    "#     This function creates an HHL circuit with qiskit, execute it and returns the depth, cx-counts and fidelity\n",
    "#     \"\"\"\n",
    "\n",
    "#     vector_circuit = QuantumCircuit(num_qubits)\n",
    "#     initi_vec = Initialize(b_vector / np.linalg.norm(b_vector))\n",
    "\n",
    "#     vector_circuit.append(\n",
    "#         initi_vec, list(range(num_qubits))\n",
    "#     )\n",
    "\n",
    "#     q = QuantumRegister(num_qubits, \"q\")\n",
    "#     unitary_qc = QuantumCircuit(q)\n",
    "#     unitary_qc.unitary(my_unitary.tolist(), q)\n",
    "#     qpe_qc = PhaseEstimation_QISKIT(precision, unitary_qc)\n",
    "#     reciprocal_circuit = ExactReciprocal(\n",
    "#         num_state_qubits=precision, scaling=1 / 2**precision\n",
    "#     )\n",
    "#     # Initialise the quantum registers\n",
    "#     qb = QuantumRegister(num_qubits)  # right hand side and solution\n",
    "#     ql = QuantumRegister(precision)  # eigenvalue evaluation qubits\n",
    "#     qf = QuantumRegister(1)  # flag qubits\n",
    "\n",
    "#     hhl_qc = QuantumCircuit(qb, ql, qf)\n",
    "\n",
    "#     # State preparation\n",
    "#     hhl_qc.append(vector_circuit, qb[:])\n",
    "#     # QPE\n",
    "#     hhl_qc.append(qpe_qc, ql[:] + qb[:])\n",
    "#     # Conditioned rotation\n",
    "#     hhl_qc.append(reciprocal_circuit, ql[::-1] + [qf[0]])\n",
    "\n",
    "#     # QPE inverse\n",
    "#     hhl_qc.append(qpe_qc.inverse(), ql[:] + qb[:])\n",
    "\n",
    "#     # transpile\n",
    "#     tqc = transpile(\n",
    "#         hhl_qc,\n",
    "#         basis_gates=[\"u3\", \"cx\"],\n",
    "#         optimization_level=transpilation_options[\"qiskit\"],\n",
    "#     )\n",
    "#     depth = tqc.depth()\n",
    "#     cx_counts = tqc.count_ops()[\"cx\"]\n",
    "#     total_q = tqc.width()\n",
    "\n",
    "#     # execute\n",
    "#     statevector = np.array(Statevector(tqc))\n",
    "\n",
    "#     # post_process\n",
    "#     all_entries = [np.binary_repr(k, total_q) for k in range(2**total_q)]\n",
    "#     sol_indices = [\n",
    "#         int(entry, 2)\n",
    "#         for entry in all_entries\n",
    "#         if entry[0] == \"1\" and entry[1 : precision + 1] == \"0\" * precision\n",
    "#     ]\n",
    "#     qsol = statevector[sol_indices] / (1 / 2**precision)\n",
    "\n",
    "#     sol_classical = np.linalg.solve(a_matrix, b_vector)\n",
    "#     fidelity = (\n",
    "#         np.abs(\n",
    "#             np.dot(\n",
    "#                 sol_classical / np.linalg.norm(sol_classical),\n",
    "#                 qsol / np.linalg.norm(qsol),\n",
    "#             )\n",
    "#         )\n",
    "#         ** 2\n",
    "#     )\n",
    "\n",
    "#     return total_q, depth, cx_counts, fidelity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c4a1f9c4-1274-4858-be0e-ae2d2a68cb4f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.278798Z",
     "iopub.status.busy": "2024-05-07T13:45:11.277805Z",
     "iopub.status.idle": "2024-05-07T13:45:11.281759Z",
     "shell.execute_reply": "2024-05-07T13:45:11.281246Z"
    },
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# qiskit_widths = []\n",
    "# qiskit_depths = []\n",
    "# qiskit_cx_counts = []\n",
    "# qiskit_fidelities = []\n",
    "\n",
    "# for per in range(2, 9):\n",
    "#     total_q, depth, cx_counts, fidelity = get_qiskit_hhl_results(per)\n",
    "#     qiskit_widths.append(total_q)\n",
    "#     qiskit_depths.append(depth)\n",
    "#     qiskit_cx_counts.append(cx_counts)\n",
    "#     qiskit_fidelities.append(fidelity)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f2005259-af7c-44d1-a4b2-b5ba095afc10",
   "metadata": {},
   "source": [
    "## 3. Plotting the Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "dd603065-6001-4d87-8457-2943ab711aaa",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-07T13:45:11.285508Z",
     "iopub.status.busy": "2024-05-07T13:45:11.284520Z",
     "iopub.status.idle": "2024-05-07T13:45:11.969961Z",
     "shell.execute_reply": "2024-05-07T13:45:11.969184Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1]),\n",
       " [Text(0.2, 0, '0.2'),\n",
       "  Text(0.30000000000000004, 0, '0.3'),\n",
       "  Text(0.4, 0, '0.4'),\n",
       "  Text(0.5, 0, '0.5'),\n",
       "  Text(0.6000000000000001, 0, '0.6'),\n",
       "  Text(0.7, 0, '0.7'),\n",
       "  Text(0.8, 0, '0.8'),\n",
       "  Text(0.9000000000000001, 0, '0.9'),\n",
       "  Text(1.0, 0, '1.0'),\n",
       "  Text(1.1, 0, '1.1')])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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25o1awAALj17w6VHLwDAmjVrLJ5753JnllyBLddTMfuvv9H/153o+dN2PHfwCDZeuY5rJaUQAOjl64Pne3TFplH34NpTk3HkkQexbHB/TOgQQUEUaXO0Wq0xiBIIhRCNnwDPTz6D99pN8PzkM4jGT4BAKMT+/fsxefJkszzO5iAzMxPx8fHo2LEjhEIhPD09ER0djddffx1nz561+nnKysrw7bff4uGHH0anTp0gEong5+eHe++9Fzt37qzxupMnT+LRRx9F+/btIRQKERQUhAcffBAbNmxAcXGxybmFhYV499130atXL0ilUkgkEsTExOC9997DhQsXjOc9++yzEAgExpul5O7KykosXboU3bp1g1AoREBAAB599FFcuHDBqutrcvDgQYwePRpSqRSenp4YPnw4/t//+391XldRUYEvvvgCMTExkEgkkEgk6NevHz755BOz3d3t27c3GZ9SqcTbb7+NLl26QCQSITAwEFOmTDFbqTF8XoY0mA4dOhifo3379jWO7a+//sLIkSONn9ODDz6IK1euWP2etHmMNKqUlBQGgKWkpNh03enTpxmAGm8eM2czj5deqfWc3UeOsB+v3mDxh46yflt2MJ9135vc/Nb/wEbs2MXe/vsU25WeyYrU6kZ6FwhpWCqVil28eJGpVKpGfZ1ff/2VAWACoZBJ31lk9n/IZ933TPrOIiYQChkAtnXr1kYdj62OHj3KfHx8WHBwMPvhhx9YamoqO3XqFHv11VeNPyeKi4tNrjEcv9PmzZsZAPbYY4+xY8eOsbS0NHb06FH2zDPPMADsk08+Mbtm165dzNnZmY0dO5YdPnyYpaWlsSNHjrBHHnmEAWALFy40niuXy9ldd93FAgIC2ObNm9m1a9fY+fPn2YoVK5hIJGKRkZHGc4uLi5lMJmODBw9mAFhycrLJ62q1WjZ+/HgGgE2aNImdPHmSpaamso0bN7KIiAgWExPDALAvvviCyWQyVl5ebtX7+eOPPzInJycWHh7Otm3bxtLS0thff/3FRo4cyaZPn84AsNjYWLPr5HI5u+eeexgA9tprr7HTp0+z06dPs7feeosJBALWv39/VlZWZjw/Ly+PyWQy49ciNjaWzZo1i/3777/sxo0b7PPPP2dCoZD5+/uzCxcumL0vYWFhDAA7ceIEk8lkTCaTsby8PJMxGb5u06ZNY/fffz87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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "classiq_color = \"#119DA4\"\n",
    "qiskit_color = \"#bb8bff\"\n",
    "plt.rcParams[\"font.family\"] = \"serif\"\n",
    "plt.rc(\"savefig\", dpi=300)\n",
    "\n",
    "plt.rcParams[\"axes.linewidth\"] = 1\n",
    "plt.rcParams[\"xtick.major.size\"] = 5\n",
    "plt.rcParams[\"xtick.minor.size\"] = 5\n",
    "plt.rcParams[\"ytick.major.size\"] = 5\n",
    "plt.rcParams[\"ytick.minor.size\"] = 5\n",
    "\n",
    "\n",
    "(classiq1,) = plt.semilogy(\n",
    "    classiq_fidelities,\n",
    "    classiq_depths,\n",
    "    \"-o\",\n",
    "    label=\"classiq depth\",\n",
    "    markerfacecolor=classiq_color,\n",
    "    markeredgecolor=\"k\",\n",
    "    markersize=8,\n",
    "    markeredgewidth=1.5,\n",
    "    linewidth=1.5,\n",
    "    color=classiq_color,\n",
    ")\n",
    "(classiq2,) = plt.semilogy(\n",
    "    classiq_fidelities,\n",
    "    classiq_cx_counts,\n",
    "    \"-*\",\n",
    "    label=\"classiq cx-counts\",\n",
    "    markerfacecolor=classiq_color,\n",
    "    markeredgecolor=\"k\",\n",
    "    markersize=12,\n",
    "    markeredgewidth=1.5,\n",
    "    linewidth=1.5,\n",
    "    color=classiq_color,\n",
    ")\n",
    "(qiskit1,) = plt.semilogy(\n",
    "    qiskit_fidelities,\n",
    "    qiskit_depths,\n",
    "    \"-s\",\n",
    "    label=\"qiskit depth\",\n",
    "    markerfacecolor=qiskit_color,\n",
    "    markeredgecolor=\"k\",\n",
    "    markersize=7,\n",
    "    markeredgewidth=1.5,\n",
    "    linewidth=1.5,\n",
    "    color=qiskit_color,\n",
    ")\n",
    "(qiskit2,) = plt.semilogy(\n",
    "    qiskit_fidelities,\n",
    "    qiskit_cx_counts,\n",
    "    \"-v\",\n",
    "    label=\"qiskit cx-counts\",\n",
    "    markerfacecolor=qiskit_color,\n",
    "    markeredgecolor=\"k\",\n",
    "    markersize=8,\n",
    "    markeredgewidth=1.5,\n",
    "    linewidth=1.5,\n",
    "    color=qiskit_color,\n",
    ")\n",
    "\n",
    "first_legend = plt.legend(\n",
    "    handles=[qiskit1, qiskit2],\n",
    "    fontsize=16,\n",
    "    loc=\"upper left\",\n",
    ")\n",
    "ax = plt.gca().add_artist(first_legend)\n",
    "plt.legend(handles=[classiq1, classiq2], fontsize=16, loc=\"lower right\")\n",
    "\n",
    "# plt.ylim(0.2e3,2e5)\n",
    "plt.ylim(0.2e3, 3e5)\n",
    "plt.ylabel(\"Depth, CX-counts\", fontsize=16)\n",
    "plt.xlabel(r\"$\\langle\\hat{x}_{\\rm cl}|\\hat{x}_{\\rm q}\\rangle^2$\", fontsize=16)\n",
    "plt.yticks(fontsize=16)\n",
    "plt.xticks(fontsize=16)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
